struct _HAL_INTEL_ENLIGHTENMENT_INFORMATION// Size=0x1e0
{
    unsigned long Enlightenments;// Offset=0x0 Size=0x4
    unsigned long HypervisorConnected;// Offset=0x4 Size=0x4
    void  ( * EndOfInterrupt)();// Offset=0x8 Size=0x8
    void  ( * ApicWriteIcr)(unsigned long ,unsigned long );// Offset=0x10 Size=0x8
    unsigned long Reserved0;// Offset=0x18 Size=0x4
    unsigned long SpinCountMask;// Offset=0x1c Size=0x4
    void  ( * LongSpinWait)(unsigned long );// Offset=0x20 Size=0x8
    unsigned long long  ( * GetReferenceTime)();// Offset=0x28 Size=0x8
    long  ( * SetSystemSleepProperty)(unsigned int ,unsigned char ,unsigned char );// Offset=0x30 Size=0x8
    long  ( * EnterSleepState)(unsigned int );// Offset=0x38 Size=0x8
    long  ( * NotifyDebugDeviceAvailable)();// Offset=0x40 Size=0x8
    long  ( * MapDeviceInterrupt)(unsigned long long ,void * ,struct _GROUP_AFFINITY * ,void * );// Offset=0x48 Size=0x8
    long  ( * UnmapDeviceInterrupt)(unsigned long long ,void * );// Offset=0x50 Size=0x8
    long  ( * RetargetDeviceInterrupt)(unsigned long long ,void * ,void * ,struct _GROUP_AFFINITY * ,void * );// Offset=0x58 Size=0x8
    long  ( * SetHpetConfig)(union _LARGE_INTEGER ,unsigned long ,unsigned long long ,unsigned char ,void * );// Offset=0x60 Size=0x8
    long  ( * NotifyHpetEnabled)();// Offset=0x68 Size=0x8
    long  ( * QueryAssociatedProcessors)(unsigned long ,unsigned long * ,unsigned long * );// Offset=0x70 Size=0x8
    long  ( * ReadMultipleMsr)(unsigned long ,unsigned long ,unsigned long * ,unsigned long long * );// Offset=0x78 Size=0x8
    long  ( * WriteMultipleMsr)(unsigned long ,unsigned long ,unsigned long * ,unsigned long long * );// Offset=0x80 Size=0x8
    long  ( * ReadCpuid)(unsigned long ,unsigned long ,unsigned long * ,unsigned long * ,unsigned long * ,unsigned long * );// Offset=0x88 Size=0x8
    long  ( * LpWritebackInvalidate)(unsigned long );// Offset=0x90 Size=0x8
    long  ( * GetMachineCheckContext)(unsigned long ,unsigned int * ,unsigned long long * ,unsigned int * );// Offset=0x98 Size=0x8
    long  ( * SuspendPartition)(unsigned long long );// Offset=0xa0 Size=0x8
    long  ( * ResumePartition)(unsigned long long );// Offset=0xa8 Size=0x8
    long  ( * SetSystemMachineCheckProperty)(void * );// Offset=0xb0 Size=0x8
    long  ( * WheaErrorNotification)(struct _WHEA_RECOVERY_CONTEXT * ,unsigned char ,unsigned char );// Offset=0xb8 Size=0x8
    unsigned long  ( * GetProcessorIndexFromVpIndex)(unsigned long );// Offset=0xc0 Size=0x8
    long  ( * SyntheticClusterIpi)(struct _KAFFINITY_EX * ,unsigned long );// Offset=0xc8 Size=0x8
    unsigned char  ( * VpStartEnabled)();// Offset=0xd0 Size=0x8
    long  ( * StartVirtualProcessor)(unsigned long ,void * );// Offset=0xd8 Size=0x8
    long  ( * GetVpIndexFromApicId)(unsigned long ,unsigned long * );// Offset=0xe0 Size=0x8
    long  ( * IumAccessPciDevice)(unsigned char ,unsigned long ,unsigned long ,unsigned long ,unsigned long ,unsigned long ,unsigned long ,void * );// Offset=0xe8 Size=0x8
    unsigned long long  ( * IumEfiRuntimeService)(unsigned long ,void * ,unsigned long long ,unsigned long long * );// Offset=0xf0 Size=0x8
    void  ( * SvmGetSystemCapabilities)(struct _HAL_HV_SVM_SYSTEM_CAPABILITIES * );// Offset=0xf8 Size=0x8
    long  ( * SvmGetDeviceCapabilities)(unsigned long ,struct _HAL_HV_SVM_DEVICE_CAPABILITIES * );// Offset=0x100 Size=0x8
    long  ( * SvmCreatePasidSpace)(unsigned long ,unsigned long );// Offset=0x108 Size=0x8
    long  ( * SvmSetPasidAddressSpace)(unsigned long ,unsigned long ,unsigned long long );// Offset=0x110 Size=0x8
    void  ( * SvmFlushPasid)(unsigned long ,unsigned long ,unsigned long ,struct _KTB_FLUSH_VA * );// Offset=0x118 Size=0x8
    long  ( * SvmAttachPasidSpace)(unsigned long ,unsigned long ,unsigned long ,unsigned long );// Offset=0x120 Size=0x8
    long  ( * SvmDetachPasidSpace)(unsigned long );// Offset=0x128 Size=0x8
    long  ( * SvmEnablePasid)(unsigned long ,unsigned long );// Offset=0x130 Size=0x8
    long  ( * SvmDisablePasid)(unsigned long ,unsigned long );// Offset=0x138 Size=0x8
    long  ( * SvmAcknowledgePageRequest)(unsigned long ,void * ,unsigned long * );// Offset=0x140 Size=0x8
    long  ( * SvmCreatePrQueue)(unsigned long ,unsigned long ,union _LARGE_INTEGER ,unsigned long ,unsigned long );// Offset=0x148 Size=0x8
    long  ( * SvmDeletePrQueue)(unsigned long );// Offset=0x150 Size=0x8
    long  ( * SvmClearPrqStalled)(unsigned long );// Offset=0x158 Size=0x8
    long  ( * SvmSetDeviceEnabled)(unsigned long ,unsigned char );// Offset=0x160 Size=0x8
    long  ( * HvDebuggerPowerHandler)(unsigned char );// Offset=0x168 Size=0x8
    long  ( * SetQpcBias)(unsigned long long );// Offset=0x170 Size=0x8
    unsigned long long  ( * GetQpcBias)();// Offset=0x178 Size=0x8
    long  ( * RegisterDeviceId)(struct _EXT_IOMMU_DEVICE_ID * ,unsigned long long );// Offset=0x180 Size=0x8
    long  ( * UnregisterDeviceId)(unsigned long long );// Offset=0x188 Size=0x8
    long  ( * AllocateDeviceDomain)(struct _HAL_HV_DMA_DOMAIN_INFO * );// Offset=0x190 Size=0x8
    long  ( * AttachDeviceDomain)(struct _EXT_IOMMU_DEVICE_ID * ,struct _HAL_HV_DMA_DOMAIN_INFO * );// Offset=0x198 Size=0x8
    long  ( * DetachDeviceDomain)(unsigned long long );// Offset=0x1a0 Size=0x8
    long  ( * DeleteDeviceDomain)(struct _HAL_HV_DMA_DOMAIN_INFO * );// Offset=0x1a8 Size=0x8
    long  ( * MapDeviceLogicalRange)(struct _HAL_HV_DMA_DOMAIN_INFO * ,unsigned long ,unsigned long long ,unsigned long long * ,unsigned long long * );// Offset=0x1b0 Size=0x8
    long  ( * UnmapDeviceLogicalRange)(struct _HAL_HV_DMA_DOMAIN_INFO * ,unsigned long long ,unsigned long long * );// Offset=0x1b8 Size=0x8
    long  ( * MapDeviceSparsePages)(struct _HAL_HV_DMA_DOMAIN_INFO * ,unsigned long ,unsigned long long * ,unsigned long long * );// Offset=0x1c0 Size=0x8
    long  ( * UnmapDeviceSparsePages)(struct _HAL_HV_DMA_DOMAIN_INFO * ,unsigned long long * ,unsigned long long * );// Offset=0x1c8 Size=0x8
    long  ( * GetDmaGuardEnabled)(unsigned char * );// Offset=0x1d0 Size=0x8
    long  ( * UpdateMicrocode)(void * ,unsigned int );// Offset=0x1d8 Size=0x8
};